package Offer.offer2022;

import java.util.LinkedList;

/**
 * 两个队列实现栈
 * 取出元素的时候，先将队列1中的所有n-1个元素转移到队列2，然后取出队列1中的最好一个元素
 * 添加元素的时候，优先添加到非空的队列中，另外一个队列应该是空的
 */
public class Test07a {

    LinkedList<Integer> list1 = new LinkedList<>();
    LinkedList<Integer> list2 = new LinkedList<>();

    public void add(int value) {
        if (!list2.isEmpty()) {
            list2.add(value);
        } else {
            list1.add(value);
        }
    }

    public int remove() {
        if (!list1.isEmpty()) {
            while (list1.size() > 1) {
                list2.add(list1.remove());
            }
            return list1.remove();
        }  else if (!list2.isEmpty()){
            while (list2.size() > 1) {
                list1.add(list2.remove());
            }
            return list2.remove();
        } else {
            throw new RuntimeException("栈为空！");
        }

    }
}
